package com.yc.oop5;

public class Test5 {
	public static void main(String[] args) {
		Plane obj = new Pet();
		Pet p1 = (Pet) obj;
		
//		Plane p2 = new Plane();
//		Pet p3 = (Pet) p2;
		
		obj.fly();
		
		obj = new Bomer();
		obj.fly();
		
		obj = new UFO();
		obj.fly();
	}
}

class Plane{
	//父类的方法的实现  其实已经不重要了.  因为引用转型之后,都是调用的重写之后的方法
	public void fly() {
		
	}
}

class Pet extends Plane{
	public void fly() {
		System.out.println("滑行起飞");
	}
}

class Bomer extends Plane{
	public void fly() {
		System.out.println("弹射起飞");
	}
}

class UFO extends Plane{
	public void fly() {
		System.out.println("我不知道咋起飞的,但是我知道肯定可以起飞");
	}
}